package shujia.day06.bao1;
/*
    形式参数
        基本类型: 当基本数据类型作为方法的参数类型的时候，调用方法时传入对应的数值即可
        引用类型:
            类：当类作为方法参数类型的时候，将来调用时需要传入该类的对象或该类的子类对象
            抽象类：当抽象类作为方法参数类型的时候，将来调用时需要传入该抽象类的具体子类对象
            接口：

 */
abstract class Student2{
    public abstract void fun1();
}

class Student2Zi extends Student2{
    @Override
    public void fun1() {
        System.out.println("好好学习，天天向上！");
    }
}

class Test2{
    //当抽象类作为方法参数类型的时候，将来调用时需要传入该抽象类的具体子类对象
    public void show1(Student2 student2){ //Student2 student2 = new Student2Zi() // 抽象多态
        student2.fun1();
    }
}

public class StudentDemo2 {
    public static void main(String[] args) {
        Test2 test2 = new Test2();
        test2.show1(new Student2Zi());
    }
}
